diff options
| author | MohamedBassem <me@mbassem.com> | 2024-08-26 13:41:13 +0300 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-08-26 16:17:35 +0300 |
| commit | b094b2cecb0da1bcdf4c63dd081638d87793c53c (patch) | |
| tree | 332db48228a83a43e3336aa8e818c70e58b4f85d /apps/mobile/app/dashboard/bookmarks/[slug].tsx | |
| parent | 8410a6d3c125cf27daa4e3abeb4c4a4d228e2cfd (diff) | |
| download | karakeep-b094b2cecb0da1bcdf4c63dd081638d87793c53c.tar.zst | |
feature(mobile): Change the view bookmark page to be a modal and add tags and
notes
Diffstat (limited to 'apps/mobile/app/dashboard/bookmarks/[slug].tsx')
| -rw-r--r-- | apps/mobile/app/dashboard/bookmarks/[slug].tsx | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/apps/mobile/app/dashboard/bookmarks/[slug].tsx b/apps/mobile/app/dashboard/bookmarks/[slug].tsx deleted file mode 100644 index c7b0cead..00000000 --- a/apps/mobile/app/dashboard/bookmarks/[slug].tsx +++ /dev/null @@ -1,82 +0,0 @@ -import { View } from "react-native"; -import { Stack, useLocalSearchParams } from "expo-router"; -import BookmarkAssetImage from "@/components/bookmarks/BookmarkAssetImage"; -import BookmarkTextMarkdown from "@/components/bookmarks/BookmarkTextMarkdown"; -import CustomSafeAreaView from "@/components/ui/CustomSafeAreaView"; -import FullPageSpinner from "@/components/ui/FullPageSpinner"; -import PageTitle from "@/components/ui/PageTitle"; -import { api } from "@/lib/trpc"; - -import { BookmarkTypes, ZBookmark } from "@hoarder/shared/types/bookmarks"; - -function BookmarkTextView({ bookmark }: { bookmark: ZBookmark }) { - if (bookmark.content.type !== BookmarkTypes.TEXT) { - throw new Error("Wrong content type rendered"); - } - const content = bookmark.content.text; - - return ( - <View className="flex gap-2"> - <BookmarkTextMarkdown text={content} /> - </View> - ); -} - -function BookmarkAssetView({ bookmark }: { bookmark: ZBookmark }) { - if (bookmark.content.type !== BookmarkTypes.ASSET) { - throw new Error("Wrong content type rendered"); - } - return ( - <View className="flex gap-2"> - <BookmarkAssetImage - assetId={bookmark.content.assetId} - className="h-56 min-h-56 w-full object-cover" - /> - </View> - ); -} - -export default function BookmarkView() { - const { slug } = useLocalSearchParams(); - if (typeof slug !== "string") { - throw new Error("Unexpected param type"); - } - - const { data: bookmark } = api.bookmarks.getBookmark.useQuery({ - bookmarkId: slug, - }); - - let comp; - let title = null; - if (bookmark) { - switch (bookmark.content.type) { - case BookmarkTypes.LINK: - comp = null; - break; - case BookmarkTypes.TEXT: - title = bookmark.title; - comp = <BookmarkTextView bookmark={bookmark} />; - break; - case BookmarkTypes.ASSET: - title = bookmark.title ?? bookmark.content.fileName; - comp = <BookmarkAssetView bookmark={bookmark} />; - break; - } - } else { - comp = <FullPageSpinner />; - } - - return ( - <CustomSafeAreaView> - <Stack.Screen - options={{ - headerTitle: "", - headerBackTitle: "Back", - headerTransparent: true, - }} - /> - <PageTitle title={title ?? "Untitled"} /> - <View className="px-4 py-2">{comp}</View> - </CustomSafeAreaView> - ); -} |
